In [1]:
import pandas as pd
import geopandas as gpd
import folium
import folium.plugins
import os
In [2]:
file_path = 'statistical-gis-boundaries-london/ESRI/London_Borough_Excluding_MHW.shp'
map_df = gpd.read_file(file_path)
In [3]:
df =pd.read_excel('All dataset.xlsx')
In [4]:
m = folium.Map(location = [51.5074, 0.1278], zoom_start = 10)
folium.Choropleth(
    geo_data = map_df,
    name = 'Household Income',
    data = df,
    columns = ['NAME','Median Household Income 2019 (annual)'],
    key_on='feature.properties.NAME', 
    fill_color='Reds',
    fill_opacity=0.7,
    line_opacity=0.5,
    bins=6,
    nan_fill_color='White',
    nan_fill_opacity=0.8,
    legend_name='Income',
    overlay=True,
    show=False
).add_to(m)
Out[4]:
<folium.features.Choropleth at 0x7fd74b0bac40>
In [5]:
folium.Choropleth(
    geo_data = map_df,
    name = 'Suicide Rates',
    data = df,
    columns = ['NAME','Suicide Rates (2019) (in %)'],
    key_on='feature.properties.NAME', 
    fill_color='Purples',
    fill_opacity=0.7,
    line_opacity=0.5,
    bins=6,
    nan_fill_color='White',
    nan_fill_opacity=0.8,
    legend_name='Suicide Rates',
    overlay=True,
    show=False
).add_to(m)
Out[5]:
<folium.features.Choropleth at 0x7fd74b0ba9d0>
In [6]:
folium.LayerControl(collapsed=False).add_to(m) 
Out[6]:
<folium.map.LayerControl at 0x7fd74b0ba0d0>
In [7]:
mnames=folium.GeoJson(
    data=map_df,
    name="Map of London Boroughs",
    style_function = lambda feature: dict(fillColor= '#00000000', color= '#00000000', weight=0, opacity=-1000),
    overlay=True,
    control=False,
    show=True,
    tooltip=folium.features.GeoJsonTooltip(
            fields=['NAME'],
            labels=False)
).add_to(m)
m.keep_in_front(mnames)
m
Out[7]:
Make this Notebook Trusted to load map: File -> Trust Notebook
In [8]:
m.save("map.html")
In [ ]: